package com.ruoyi.mushcoin.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.orm.core.domain.BaseEntityTo;
import com.ruoyi.mushcoin.domain.TgUserInfo;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * TG用户视图对象 tg_user_info
 *
 * @author billy
 * @date 2024-07-29
 */
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TgUserInfo.class)
public class TgUserInfoVo extends BaseEntityTo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long userId;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String firstName;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String lastName;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String userName;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String languageCode;

    @ExcelProperty(value = "")
    private Integer isPremium;

    @ExcelProperty(value = "")
    private Integer isPremiumTg;

    @ExcelProperty(value = "")
    private String countryCode;

    @ExcelProperty(value = "")
    private Long mushcoin;


    @ExcelProperty(value = "")
    private Long inviteUserId;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long inviteRewardsTotal;


    /**
     * 交换货币
     */
    @ExcelProperty(value = "交换货币")
    private String currencyOfExchange;


    //gold=1金币，diamond=2钻石，rankCoin=201排行榜硬币
    @ExcelProperty(value = "金币")
    private String gold;
    @ExcelProperty(value = "钻石")
    private Long diamond;
    @ExcelProperty(value = "排行榜硬币")
    private Long rankCoin;

    /**
     * 邀请用户数量
     */
    private Long inviteUserCount;


    /**
     * saveGameData游戏保存次数
     */
    private Long saveGameCount;

    /**
     * vip有效时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date vipEndTime;

    @ExcelProperty(value = "")
    private Long allMushcoin;

    @ExcelProperty(value = "")
    private String address;

    private String ipAddress;
    private String ipAddressName;
    private String mobileDeviceName;

}
